# 
# This diagram needs a monospace font to be shown correctly!
# 
# This diagram needs Vault to run correctly.
#  Sidenotes will show how to remove Vault-Dependencies from the
#  configuration.
#
# Please note that moderative components are currently not added in
# this stage of development.
# 
# Simple Chat in this format: "[<Prefix><DisplayName><Suffix>] <Message>"
# Supports colors with permissions.
# 
# The channel-system does nothing and can be disabled.
# 
# Tip if you happen not to know which type configuration values the configuration supports,
#  try to add "{}" (without the quotes) as this denotes an empty configuration.
#  On reload this empty node will be replaced with the default configuration of the node.
# 
# Scheme how the chat is configured here.
# 

  +-------------------------+         +------------------------------------------------------------+
  | GlobalChatSource        |         | MessageModifier                                            |
  |-------------------------+-------->|------------------------------------------------------------|
  | > cancel-messages: true |         | > format-string: "&7[&e${sender,player,pds}&7] ${message}" |
  +-------------------------+         | * If you don't use Vault, use the following configuration: |
                                      |   > format-string: "&7[&e${sender,player,d}&7] ${message}" |
                                      +--------------+---------------------------------------------+
                                                     |                                              
                                                     v                                              
  +-------------------------+         +-------------------------------------+                       
  | GlobalChatSink          |         | ConditionalFlowControl              |  * false, if the user 
  |-------------------------|         |-------------------------------------|    has the permission 
  | > colors: "&"           |         | > type: not                         |                       
  +-------------------------+         |   config:                           |                       
                   ^    ^             |     type: permission                |                       
                   |    |   (false)   |     config:                         |                       
                   |    +-------------+       user: "${sender}"             |                       
                   |                  |       permission: "pulsechat.color" |                       
                   |                  +---------------------------------+---+                       
                   |                                                    |                           
            +------+---------------------------------------+            |                           
            | RegexModifier                                |            |                           
            |----------------------------------------------|            |                           
            | > regexes:                                   |   (true)   |                           
            |   - censor-regex: "(§|&)[a-fk-or0-9A-FK-OR]" |<-----------+                           
            |     replace-regex: ""                        |                                        
            |   on-format: false                           |                                        
            +----------------------------------------------+                                        

